package com.bbva.general.util;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import com.bbva.general.entities.*;

public class Formato {

	static Logger  log = Logger.getLogger(Formato.class);
	
	public static List<Linea> Lineas(String archivo) {
		List<Linea> resultados = new ArrayList<Linea>();
		try {
			FileInputStream fis = new FileInputStream(archivo);
//			BufferedReader entrada = new BufferedReader(new FileReader(fis
//					.getFD()));
			BufferedReader entrada = new BufferedReader(new InputStreamReader(fis,"8859_1"));
			Linea objLinea;
			int contador = 0;
			String strLinea = "";
			strLinea = entrada.readLine();
			while ( strLinea!= null) {
				objLinea = new Linea();
				if (!strLinea.trim().equals("")) {
					contador++;
					objLinea.setNroLinea(contador);
					objLinea.setLinea(strLinea);
					resultados.add(objLinea);
				}
				try{
					strLinea = entrada.readLine();
				}catch (Exception e) {
					log.error("ERROR EN LA LINEA "+(contador+1)+" LINEA ANTERIOR VALIDA :"+strLinea+" CAUSA: "+e.getMessage());
				}
			}
			entrada.close();
		} catch (IOException e) {
			log.error("ERROR FATAL NO SE PUDO SEGUIR LEYENDO EL ARCHIVO. "+e.getMessage());
		}
		return resultados;
	}

	public void ImprimeLineas(String archivo) {
		try {
			FileInputStream fis = new FileInputStream(archivo);
			BufferedReader entrada = new BufferedReader(new FileReader(fis
					.getFD()));
			String strLinea;
			while ((strLinea = entrada.readLine()) != null) {
				System.out.println(strLinea);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
